#include "svgstrdialog.h"
#include "ui_svgstrdialog.h"

SvgStrDialog::SvgStrDialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::SvgStrDialog), scene(new QGraphicsScene(this))
{
    // 创建 QGraphicsScene 和 QGraphicsView
    QGraphicsView *view = new QGraphicsView(scene, this);

    QTimer *timer;
    // 创建一个定时器，每隔1秒触发一次
    timer = new QTimer(this);
    connect(timer, &QTimer::timeout, this, &SvgStrDialog::onTimeout);
    timer->start(1000); // 每1000毫秒（1秒）触发一次

    ui->setupUi(this);
    ui->verticalLayout->addWidget(view);
}

SvgStrDialog::~SvgStrDialog()
{
    delete ui;
}

void SvgStrDialog::onTimeout()
{
    if(svgData == svgData1) svgData = svgData2;
    else svgData=svgData1;


    // 加载svg字符串
    svgRenderer.load(svgData);

    QPixmap pixmap(600, 400);
    pixmap.fill(Qt::transparent);

    QPainter painter(&pixmap);
    svgRenderer.render(&painter);
    painter.end();

    scene->clear();

    // 更新场景中的PixmapItem
    pixmapItem = scene->addPixmap(pixmap);
}
